Error-correcting codes are used to reduce the error rate of communication over noisy channels. A typical error-correcting code transmits more symbols than strictly necessary so that reception of a corrupted stream of symbols still allows the original message to be reconstructed as long as the corruption is not too large.
An error-correcting code has a fixed rate when the code has a fixed ratio of the number of source symbols to the number of transmitted symbols. An error-correcting code has variable rate when the code allows the rate to change during the transmission. For example, the rate may adapt to varying conditions in the communication channel.
Typical variable rate codes have a long decoding delay where a substantial portion of the message is received in order to decode the first symbol. While this may not be a problem for file transmission, this delay is undesirable if the message is some real-time audio or video stream, such as a message for a video conference. One way to avoid this problem is by using a sliding window where the transmitted symbols are a function of a contiguous, small segment of the source message (the window). The window initially encompasses a prefix of the message, and it is moved forward as the transmission progresses.